package model;

import java.util.List;

/**
 * @author xiongyx
 * @date 2020/6/3
 */
public class PageResponseFactory {
    /**
     * 分页响应
     *
     * @param data
     * @param <T>
     * @return
     */
    public static <T> PageResponse<T> buildPageResponse(List<T> data, int pageNo, int pageSize, int totalCount) {
        return new PageResponse<>(data, pageNo, pageSize, totalCount);
    }

    /**
     * page参数的分页响应入口
     *
     * @param data
     * @param <T>
     * @return
     */
    public static <T> PageResponse<T> buildPageResponse(List<T> data, PageInfo page) {
        return new PageResponse<>(data, page);
    }

    /**
     * 分页响应
     *
     * @param pageResult
     * @param <T>
     * @return
     */
    public static <T> PageResponse<T> buildPageResponse(PageResult<T> pageResult) {
        return new PageResponse<>(pageResult);
    }

    /**
     * 带签名的分页响应
     *
     * @param pageResult
     * @param <T>
     * @return
     */
    public static <T> PageResponse<T> buildPageResponse(PageResult<T> pageResult, String sign) {
        PageResponse<T> pageResponse = new PageResponse<>(pageResult);
        pageResponse.setSign(sign);
        return pageResponse;
    }
}
